#pragma once

#include "tablas_global.h"
#include <QVariant>
#include "formateadortabla.h"
#include "global.h"

#define ID_INVALIDO -1
#define ID_NULL 0

//#define IGUALES(X) this->##X == otro.##X

bool TABLAS_EXPORT sonIguales(double a, double b);

#define GET_ATR(a) if (nombreAtributo.compare(#a) == 0) { return QVariant(a); }
#define GET_DEF return "???";

#define ANCHO_ATR(a, n) if (nombreAtributo.compare(#a) == 0) { return n; }
#define ANCHO_DEF return -1;

class TABLAS_EXPORT Datos
{
public:    
    virtual QVariant get(const QString& nombreAtributo) const = 0;
    virtual int getAncho(const QString& nombreAtributo) const;
};